package cn.jjxx.modules.sys.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import cn.jjxx.modules.sys.entity.Report;
import cn.jjxx.modules.sys.entity.ReportOrg;
 
/**   
 * @Title: 报表管理数据库控制层接口
 * @Description: 报表管理数据库控制层接口
 * @author zcg
 * @date 2018-05-23 08:19:38
 * @version V1.0   
 *
 */
public interface ReportMapper extends BaseMapper<Report> {
    
	/**
	 * @Description: 根据报表Id,删除组织报表 .<br>
	 * @param reportId 报表Id.<br>
	 * @author 郑成功 .<br>
	 * @date 2018-6-19 下午3:50:41.<br>
	 */
	boolean deleteOrgReport(@Param("reportId")String reportId);
	
	/**
	 * @Description: 根据报表Id和组织Id,保存组织报表 .<br>
	 * @param reportId 报表Id.<br>
	 * @param orgList 所属组织.<br>
	 * @author 郑成功 .<br>
	 * @date 2018-6-19 下午3:51:14.<br>
	 */
	boolean insertOrgReport(@Param("reportId")String reportId,@Param("list")List<String> orgList);
	
	/**
	 * @Description: 根据报表编号和组织Id,获取报表 .<br>
	 * @param reportNumber 报表编号.<br>
	 * @param orgId 组织Id.<br>
	 * @author 郑成功 .<br>
	 * @date 2018-6-19 下午3:51:52.<br>
	 */
	Report findReportByOrgNumber(@Param("number")String reportNumber, @Param("orgId")String orgId);
	
	/**
	 * @Description: 根据报表编号和组织Id,获取报表 .<br>
	 * @param menuId 菜单Id.<br>
	 * @param orgId 组织Id.<br>
	 * @author 郑成功 .<br>
	 * @date 2018-6-19 下午3:51:52.<br>
	 */
	Report findReportByMenu(@Param("menuId")String menuId, @Param("orgId")String orgId);
	
	/**
	 * @Description: 根据报表Id,获取报表组织 .<br>
	 * @param reportId
	 * @author 郑成功 .<br>
	 * @date 2018-8-7 下午8:22:57.<br>
	 */
	List<ReportOrg> findOrgReport(@Param("reportId")String reportId);
}